//
//  Tuov.h <- KDJ
//  LuGong
//
//  Created by 邱成 on 2017/6/15.
//  Copyright © 2017年 YiShi. All rights reserved.
//

#ifndef Tuov_h
#define Tuov_h

#include "IndexData.h"

namespace ytx
{
    class Tuov : public IndexData
    {
    public:
        Tuov(IndexConfig indexConfig);
        virtual ~Tuov();
        
//        double getRSV(Quotation * data, int index, int n);
        
        virtual void calculate(Quotation * data);
        
        virtual void updateLastest(Quotation * data);
        
        virtual std::string getCrosshairYData(int index);
        
        virtual UpDropStatus::UpDropStatus getUpDropStatus(int index);
//        virtual int getDataLength() const;
//        virtual bool hasData() const;
//        virtual bool hasData(int index) const;
        virtual std::pair<double, double> getAdjustedDataMinMax(int startIndex, int endIndex, const Rectangle & rect) const;
        virtual std::vector<std::pair<double, std::string> > getLeftSideText(int startIndex, int endIndex, const Rectangle & rect, const Style & style) const;
        virtual std::vector<std::pair<std::string, std::string> > getTopSideText(int index) const;
        
        virtual std::pair<std::string, std::string> getTopSideInfoText() const;
    };
}

#endif /* Tuov_h */
